.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH CMAKE 1 "August 8, 2002"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
cmake \- Cross-platform Makefile generator.
.SH SYNOPSIS
.B cmake
.RI < path-to-source > " " [ options ]
.br
.B ccmake
.RI < path-to-source >
.br
.B ctest
.RI [ -R " " < regex > ]
.br
.B cmaketest
.RI < test-src-dir > " " < test-bin-dir > " " < test-executable >
.SH DESCRIPTION

This manual page documents briefly the \fBcmake\fP, \fBccmake\fP,
\fBctest\fP and \fBcmaketest\fP commands.  It is not intended to aid
authors of CMakeLists.txt files or to describe all advanced options
available.  For full documentation, please visit
\fBhttp://www.cmake.org\fP.

.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
.\" respectively.

CMake provides developers with a means of building their project on
multiple platforms while writing only one build system configuration.
The developer writes a set of CMakeLists.txt files that are read by
CMake and used to generate a native build system for the current
environment.  On unix platforms, Makefiles are generated.

.PP

\fBcmake\fP is used to generate the makefiles for a project from its
source.  The first argument should specify a path to the source tree.
The current directory will be used as the build tree for the project.
Both in-source and out-of-source builds are supported, but
out-of-source builds are preferred.  CMake provides functionality for
tailoring the build to user preferences through settings in the cmake
cache.  Options may be set interactively using the -i option (or
\fBccmake\fP).  Once CMake has generated the makefiles in the build
tree, one may use the standard \fBmake\fP tool to build the project.

.PP

\fBccmake\fP provides a curses interface front-end for \fBcmake\fP.
The interface allows users to interactively configure the build
options stored in the cmake cache.  This is the preferred interface
for interactive builds.  Build scripts should use \fBcmake\fP
directly.

.PP

\fBctest\fP runs tests found in the project's build tree after it has
been compiled and displays a summary of test results.  Use the -R
option to specify a regular expression of test names to match.

\fBcmaketest\fP is provided to simplify project testing scripts.  It
allows a CMake project to be compiled and tested from a single command
line.

.SH OPTIONS

.TP
.B \-\-help
Available for \fBcmake\fP , \fBccmake\fP and \fBcmaketest\fP.
.br
Show version number and summary of options.

.TP
.B -R regex
Available for \fBctest\fP.
.br
Run only tests matching the given regular expression.

.TP
.B -i
Available for \fBcmake\fP.
.br
Run cmake in an interactive wizard mode to configure the build.

.SH SEE ALSO
.BR Dart (1),
.BR VTK (1).

.SH MAILING LIST
For help using cmake, a mailing list is provided at
\fBcmake@www.cmake.org\fP.  Please first read the full documentation
at \fBhttp://www.cmake.org\fP before posting questions to the list.

.SH AUTHOR
This manual page was written by CMake authors at Kitware
<kitware@kitware.com>.
